package com.example.pcl.service;

import com.example.pcl.pojo.dto.AppointmentDto;
import com.example.pcl.pojo.dto.AppointmentQueryDto;
import com.example.pcl.pojo.dto.AppointmentStatusDTO;
import com.example.pcl.pojo.dto.BatchCancelDto;
import com.example.pcl.pojo.entity.Appointments;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.pcl.pojo.vo.AppointmentVo;
import com.example.pcl.result.PageResult;

/**
 * <p>
 * 预约表，记录学生与心理咨询师的预约信息 服务类
 * </p>
 *
 * @author xx
 * @since 2024-12-17
 */
public interface IAppointmentsService extends IService<Appointments> {

    void createAppointment(AppointmentDto appointmentDto);

    AppointmentVo getAppointmentDetail(Integer appointmentId);

    PageResult<AppointmentVo> getAppointmentList(AppointmentQueryDto queryDto);

    void batchCancelAppointments(BatchCancelDto cancelDto);

    void deleteAppointment(Integer appointmentId);

    void updateAppointmentStatus(AppointmentStatusDTO appointmentStatusDTO);

    void updateAppointment(AppointmentDto appointmentDto);
}
